Cadenzas and explicit ornaments

Ornaments and cadenzas usually need to be written using smaller notes2.23. This can be done everywhere by stating normalshapemediumseriesnormalshapemediumseries\smallnotesize or normalshapemediumseriesnormalshapemediumseries\tinynotesize. Normal note size is restored by normalshapemediumseriesnormalshapemediumseries\normalnotesize.

These macros only have a local scope. Thus, if these macros are invoked outside the normalshapemediumseries\notes...normalshapemediumseries\enotes pair, the change is valid for the rest of the piece unless explicitely modified but, if they are invoked inside, their effect is local to the current staff of the current normalshapemediumseries\ notes...normalshapemediumseries\enotes pair. As an example, the following excerpt (beginning of the Aria of the ``Creation'' by Joseph HAYDN)


\begin{music}
\generalmeter{\meterfrac{4}{4}}%
\signaturegenerale{0}%
\nb...
...
\notes&\sk\tbbl0\tbl0\qb0J\vert\tbl1\zq c\qb1e\enotes
\finextrait
\end{music}

can be coded as:

\def\DS{\hbox{\ds}}
\def\FS{\hbox{\kern 0.3\noteskip\soupir}\kern -0.3\noteskip}
\def\qbl#1#2#3{\ibl{#1}{#2}{#3}\qb{#1}{#2}}%
\def\qbu#1#2#3{\ibu{#1}{#2}{#3}\qh{#1}{#2}}%
\def\nbinstruments{2}%
\generalmeter{\meterfrac{4}{4}}%
\signaturegenerale{0}%
\nbporteesii=1\relax
\nbporteesii=2\relax
\cleftoksi={{6}{0}{0}{0}}
\cleftoksii={{6}{0}{0}{0}}
\etroit     
%
%  end of preliminary definitions
%
\debutextrait
\NOTes\soupir&\soupir|\qu g\enotes
% mesure 1
\advance\barno by -1\relax
\barre\NOtes\itenu2J\wh J&\zw N\ibl0c0\qb0e|\qu j\enotes
\notes&\qbl0c0|\noteskip=0.6\elemskip\tinynotesize
\Ibbu1ki2\qh1{kj}\tqh1i\qsk\enotes
\Notes&\qb0e\tbl0\qb0c|\qu j\enotes
\temps\Notes&\ibl0c0\qb0{ece}\tbl0\qb0c|\ql l\sk\ql j\enotes
% mesure 2
\barre\Notes\tten2\wh J&\ql J\sk\ql L|\ppt g\rlap{\qu g}\qbl1e0\relax
       \zq c\qb1e\zq c\qb1e\relax
       \zq c\tbl1\rlap{\qb1e}\ \ \ccu h\enotes
\temps\Notes&\ql N\sk\pt L\ibl0L{-4}\qb0L|\ibl1e0\zq c\rlap{\qb1e}\cu g\relax
       \zq c\rlap{\qb1e}\raise\Interligne\DS \rlap{\qu g}\qb1g\enotes
\notes&\sk\tbbl0\tbl0\qb0J|\tbl1\zq c\qb1e\enotes
\finextrait